home *** CD-ROM | disk | FTP | other *** search
- /------------------------------------------\
- | SFskyedit |
- | Star Fighter 3000 sky colours editor |
- | © Chris Bazley, 2001 |
- | Version 1.24 (7th November 2003) |
- \------------------------------------------/
- N.B. This text is best viewed at a display width of 77 columns.
-
- -----------------------------------------------------------------------------
- 1 Introduction and Purpose
- ========================
-
- SFskyedit is an editor for 'Star Fighter 3000' sky files. Since 'Star
- Fighter 3000' is a very tiresome name to type, from this point onward, I
- will refer to the game as 'SF3000'.
-
- A SkyCols file (in "Landscapes.Sky") contains the colours used to paint a
- particular type of planetary atmosphere (e.g. sunset, morning, night, gas
- clouds etc). This application allows you to edit these colours or define
- colour shades for new skies.
-
- SFskyedit is one of a number of tools currently under development for use
- with SF3000, which will eventually also include a complete map/mission
- editor. When these tools are finished, they will be distributed as a suite
- of complementary utilities.
-
- -----------------------------------------------------------------------------
- 2 Requirements
- ============
-
- • RISC OS 3.10 or better.
- • The so-called 'nested Wimp' (softloadable as part of Acorn's universal
- !Boot).
- • The new (C99, APCS-32) shared C library and up to date versions of other
- modules required by the C run-time environment.
- • The Toolbox modules (in !System, or in ROM with RISC OS 3.6).
-
- If any of the above facilities are unavailable then the program will fail
- to load, with an error message describing the problem.
-
- -----------------------------------------------------------------------------
- 3 Quick Guide
- ===========
-
- Load the SFskyedit application. Open your !Star3000 game directory and
- locate the subdirectory "Sky" in "Landscapes" or "Disc2.Landscapes". Drag a
- file from this directory to the SFskyedit icon on the iconbar, and an
- editing window will open. (If you choose "Earth" or "Earth2" you may get a
- warning message. This is nothing to worry about.)
-
- Within the editing window will be a stack of coloured rectangles, these
- are numbered 0-62 (though you can't see this yet). These represent the
- colour bands currently in the file. There will be a red bar below the bottom-
- most colour band. This is the caret.
-
- Click SELECT to position the caret or drag SELECT to make a selection.
- Click or drag ADJUST to change the extent of a selection.
-
- Selected colour bands are highlighted with a border and whatever the
- number of that band (0-62). To deselect all selected bands, press Ctrl-Z or
- click SELECT outside the selected area. The caret and selection are mutually
- exclusive (e.g. only one may exist at a time).
-
- To change the colour of all selected bands, press Ctrl-E and choose a
- colour from the palette, or follow 'Effect'>'Set colour...' on the pop-up
- menu. To move selected bands drag SELECT from within the selection, or Shift-
- drag to copy. Position the bands at their destination using the ghost
- (orange) caret.
-
- There are two quick ways to create a high quality sky file:
- 1) Insert consecutive areas of plain colour ('Edit'>'Insert bands...'),
- select all the new areas plus some black, and smooth the finished product
- ('Effect'>'Smooth transitions').
- 2) Insert consecutive gradated fills, with the final one fading to black.
- Which method you use is a matter of personal preference, but they are
- largely incompatible since you cannot successfully apply smoothing to
- gradated fills.
-
- Finally, to see the results of your handiwork in real time, press Ctrl-P
- or select 'Preview...' from the pop-up menu.
-
- -----------------------------------------------------------------------------
- 4 User Manual
- ===========
-
- 4.1 Jargon
- ------
- "Colour band" - the building blocks of a sky file that are represented as
- coloured rectangles in the editing window. There are 63 bands in a file,
- each of which may be any colour of the standard mode 13 palette.
-
- "Shade" - actual pixel data that will be plotted to the screen by the sky
- renderer. There are 126 shades in a file, each consisting of a 4-pixel
- pattern. Shades are not directly editable by SFskyedit.
-
- "Caret" - as in a text editor, this is a positionable marker at which data
- may be inserted, and from where selections may be made. In SFskyedit the
- caret looks like a horizontal bar with uprights at either end. It is
- normally red, but turns grey when the editing window loses the input focus.
-
- "Ghost caret" - this is an orange bar that follows the mouse pointer
- during a drag operation, and shows where the bands being dragged would be
- inserted if dropped.
-
- "Clipboard" - an invisible area of temporary storage that is used when
- copying or moving colour bands. SFskyedit doesn't support the global
- clipboard protocol but the internal clipboard may be used to transfer colour
- bands between different editing windows.
-
- 4.2 Data input and output
- ---------------------
- Not only input and output via the desktop Filer are supported, but also
- drag-and-drop interaction with other desktop programs. At the moment the
- only other app that supports direct transfer of SkyCols files is FednetCmp.
- RAM transfer is not supported because the decompression module insists on
- loading data directly from file.
-
- Files are verified for consistency upon loading. Certain of the game files
- do not quite conform to the strictly defined editing model, bringing up a
- warning dialogue box. In practice this is nothing to worry about (see
- section 5.4 "Editing model").
-
- To disable the warning message for the remainder of a session, click on
- the "Disable warning" button in the dialogue box. To disable it permanently,
- add the command line switch "-nowarn" to the !Run file.
-
- 4.3 Editing model
- -------------
- The editing model used by SFskyedit is not strictly speaking appropriate,
- but I have adopted it to make the program easier to use.
-
- Within this manual you will find many references to 'insertion' and
- 'removal' of colour bands, implying that a sky file is (like this text file)
- a sequence of data of arbitrary length. In fact, a sky file is of finite
- length (63 colour bands) and cannot be extended.
-
- This means that inevitably whenever bands are 'inserted' some bands are
- pushed off the top. This is very unlikely to be a problem, however, as there
- is loads of space in a file (no Fednet sky goes above band 35). All the
- bands at the top are likely to be either black or rubbish that you forgot to
- delete.
-
- 4.4 The iconbar
- -----------
- Drag SkyCols files to the SFskyedit icon to edit them. SkyCols files may
- be identified by the filetype &404 and an icon showing a blue/yellow sky
- with dark hills. If an editing window is already open for a dragged file
- then this will be shown instead.
-
- Click SELECT to create a new sky file. All colour bands will be
- initialised as black, and the minimum sky height and stars start height will
- be zeroed.
-
- Click ADJUST to bring all open windows to the front, e.g. in case they are
- hidden behind other windows open on the desktop.
-
- Click MENU to bring up the main application menu:
-
- 'Info'>
-
- Leads to a standard 'About this program' window.
-
- 'Help...'
-
- Opens this text manual.
-
- 'Files'>
-
- This submenu lists all open editing windows, by file path. Clicking on one
- of these menu entries brings the corresponding window to the front of the
- stack.
-
- 'Quit'
-
- Before quitting, SFskyedit will check whether there are any files being
- edited that are unsaved/modified. If so then you will be prompted to confirm
- that you wish to discard any changes.
-
- 4.5 Main editing window
- -------------------
- The main section of the editing window is occupied by a huge vertical
- stack of coloured rectangles. These are the 'colour bands', numbered from 0
- (bottom) to 62 (top). When selected colour bands are highlighted with a
- border and whatever the number of that band.
-
- The caret looks like a red horizontal bar with uprights at both ends. When
- a file is first opened it appears below band 0, but may be moved up and down
- using the arrow keys. When it reaches the top or bottom edge of the window
- the view will scroll automatically in that direction. Use of the caret is
- described further in the next section of the manual.
-
- When you scroll the editing window the caret will automatically be moved
- so that it remains inside the visible area (this behaviour is configurable
- using the 'Trap caret' menu option). The Home/End and PgUp/PgDn keys may
- also be used for scrolling.
-
- At the top of the editing window are two writable values, 'Min sky height'
- and 'Stars start height'. These reflect the current state of these values in
- the sky file header, and may be altered by typing into the writable field or
- using the bump up/down arrows.
-
- 'Min sky height' is an offset that changes the way that the sky is
- rendered - higher values make the sky look more 'compact' at ground level,
- with narrower colour bands. In other words exactly the same effect as you
- get by flying high, hence the name.
-
- 'Stars start height' is the height at which the game begins to plot stars
- in the sky, so you should set it to the height at which you want the
- atmosphere to appear to be thinning.
-
- Rather than typing numbers, it is much easier to set these values by eye.
- This can be done using the interactive preview window, of which more later.
-
- 4.6 Mouse actions on editing window
- -------------------------------
- SFskyedit uses the standard RISC OS selection and drag & drop model, which
- should be familiar to anyone who has used a text editor. Selections are
- contiguous, meaning that only neighbouring bands may be selected - no gaps
- allowed. The caret and selection are mutually exclusive (e.g. only one may
- exist at a time).
-
- To position the caret click SELECT on the editing window (clicking on a
- selection has no effect, to allow drag & drop to function).
-
- To select bands, position the caret at a starting point and (holding
- SELECT) drag out the selection. The end of the selection will follow the
- mouse pointer, expanding or contracting until you release the mouse button.
- The editing window will scroll up or down automatically when the mouse
- pointer nears the edge of the visible area.
-
- Alternatively, clicking ADJUST will instantly select all colour bands
- inbetween the caret position and the mouse pointer. An existing selection
- may be modified by clicking or dragging ADJUST, to grab the nearest end
- point of the selection and move it to the current pointer position.
-
- Copy and move operations may be done using the mouse rather than using the
- clipboard method described later. Selected bands may be dragged within the
- file or to another editing window. Editing windows will scroll automatically
- when the pointer approaches the top/bottom of the window.
-
- Dragging selected bands within a file will move them. To copy them, hold
- SHIFT when starting the drag operation. These actions are reversed when
- dragging to another file (SHIFT-drag to move, drag to copy).
-
- Summary of mouse operations:
-
- SELECT click
- On selection: Do nothing, unless held for drag.
- In clear: Set new caret position, clearing any selection.
-
- SELECT double-click
- On selection: Choose a new colour for the selected bands.
-
- SELECT drag
- In clear: Drag out a new selection from the caret position.
- On selection: Move or copy the selected colour bands to the drop location.
-
- MENU click
- Open pop-up menu to allow operations on the selection or insertion of
- colour bands at the caret.
-
- ADJUST click
- If selection: Set nearest end of selection to click position.
- If no selection: Create new selection from caret position to click
- position.
-
- ADJUST drag
- If selection: Drag extend/contract the nearest end of the selection.
-
- 4.7 File operations
- ---------------
- 'File'>'Info'>
-
- This leads to a standard 'About this file' window, which gives information
- about the file being edited: Size, type, whether it has been modified since
- it was loaded/saved, and the time and date of the file. The date is
- generally taken from the date stamp of the file, except when the data is
- received directly from another app (in which case it is the time of
- transfer).
-
- 'File'>'Save'>
-
- This leads to a standard savebox. Type a file name and drag the icon to a
- directory display, or type a full file path and press Return.
-
- 'File'>'Close'
-
- This is equivalent to attempting to close the editing window. If you have
- unsaved changes then you will first be prompted to save or discard them
- before the session is closed.
-
- 4.8 Editing operations
- ------------------
- 'Edit'>'Insert bands...'
-
- This brings up a dialogue box that allows you to set up an insertion
- operation.
-
- The number of bands to insert is set by typing into the numeric field at
- the top of the window, or using the bump up/down arrows provided. When doing
- a gradated fill this number also dictates the smoothness of colour
- transition that can be achieved.
-
- If you wish the new colour bands to be a plain colour, set the "Plain
- fill" radio button, and select a colour from the pop-up palette. This fill
- colour will be retained across multiple insertion operations until it is
- superseded.
-
- The facility to do a "Gradated fill" is essentially another interface to
- the 'Interpolate' function described above. Using a sequence of gradated
- fills you can quickly build up a high-quality sky file without lots of
- fiddling.
-
- The default start and end colours for a gradated fill are those
- immediately above and below the current caret position. At the bottom of the
- file there is no preceding colour, so the start colour is set to white. You
- can select alternative colours from the pop-up palettes - doing so will
- automatically set the corresponding 'Include...' option button (see below).
-
- The 'Include start colour' and 'Include end colour' options allow you to
- do a gradated fill without actually including the initial and/or final
- colour. This is useful for interpolating between pre-existing adjacent
- colour bands and for merging consecutive fills.
-
- Normally these options are set automatically depending on whether the
- start and end colours correspond to the colours adjacent to the caret, but
- you can also set them manually. By default neither start nor end colours are
- included, except at the start of the file where inclusion of the start
- colour is sensible.
-
- To reset the dialogue box ADJUST-click on the 'Cancel' button. Clicking
- 'Insert' will insert the specified number of new colour bands and move the
- caret up by the same amount. If you click with ADJUST rather than SELECT
- then the start and end colour will be updated for another insertion and the
- dialogue box will remain open. (This is useful for doing consecutive
- gradated fills.)
-
- 'Edit'>'Cut'
-
- Discard any previous contents of the clipboard, and copy all selected
- bands to it. The original colour bands will then be removed from the file,
- giving the impression that the bands have 'moved' to the clipboard. The
- bands above the removed chunk will shuffle down to fill the space, with new
- black ones appearing at the top.
-
- 'Edit'>'Copy'
-
- Discard any previous contents of the clipboard, and copy all selected
- bands to it. The original colour bands will be untouched.
-
- 'Edit'>'Paste'
-
- If the clipboard is not empty then this operation will paste any colour
- bands on the clipboard to the editing window. These will be inserted at the
- current caret position, causing all bands above the caret to shuffle upward
- (at the very top some may be lost). If there is no caret then the clipboard
- contents will instead replace the the current selection.
-
- 'Edit'>'Delete'
-
- As 'Cut' except that the clipboard contents are untouched.
-
- 'Edit'>'Select all'
-
- Select all the colour bands.
-
- 'Edit'>'Clear selection'
-
- Deselect any colour bands that may have been selected.
-
- 4.9 Effects on a selection
- ----------------------
- 'Effect'>'Set colour...'
-
- Clicking this menu entry brings up a colour picker dialogue which allows
- you to choose a colour from the standard 256 colour palette. You can revert
- to the original colour at any time by clicking ADJUST on 'Cancel'. When you
- are happy with your choice (displayed in the bottom left of the dialogue
- box) click OK to confirm. All the bands selected in the editing window will
- be set to the chosen colour.
-
- 'Effect'>'Interpolate colours...'
-
- This brings up a dialogue box that allows you to set up an interpolation
- between two colours. You give the routine a start and end colour and it will
- calculate the colours that (when applied to the intervening bands) will most
- closely approximate a smooth transition.
-
- By default the start/end colours used will be the first and last bands of
- the current selection, but you can choose alternative colours from the pop-
- up palette. To return to the default colours ADJUST-click on the 'Cancel'
- button.
-
- When you click 'Interpolate' the finished colour gradient will overwrite
- the current selection. If you want to *insert* a colour gradient then you
- should instead use the 'Insert bands' facility described earlier.
-
- 'Effect'>'Smooth transitions'
-
- This facility will attempt to smooth abrupt changes from one colour to
- another, within the selected bands.
-
- Unfortunately SFskyedit is unable to determine which the key colour bands
- are and which are just intermediate colours. For this reason smoothing will
- only really work where there are large blocks of contiguous bands all set to
- the same colour.
-
- The routine attempts to find the centre point of each block of colour (or
- uses the start and end of the selection for the first and final blocks).
- Then, it changes all the intervening bands to make a smooth gradient between
- the various mid-points, which remain unaltered.
-
- Basically, this is a one time only option, since almost by definition
- there will not remain any large blocks of contiguous colour after a
- smoothing operation. Not amazingly useful...
-
- 4.10 Preview window
- --------------
- A preview may be opened by selecting 'Preview...' from the editing window
- menu. Each individual editing window may have its own preview. If in doubt
- which is which, the title of the preview window shows the name of the file
- that it is associated with.
-
- The window shows an interactive view of how the sky file would look if it
- were rendered by the game. The view is real-time, updating as the file is
- edited or when the height slider is dragged. The only difference between
- this and the game is that distant planets and stars are not rendered in the
- preview.
-
- The viewing height is controlled with a slider attached to the preview
- window, with a numeric display below to show the current height. The numbers
- displayed show the height RELATIVE to the current minimum sky height. Thus
- the rendered view will change in appearance if the MSH is changed, though
- the viewing height remains constant. The MSH is a purely cosmetic adjustment.
-
- Two useful options are available from the sky preview menu:
-
- 'Set min. sky height'
-
- Will take the current view and reset the MSH so that this is how the sky
- appears from ground zero. The viewing height will also be reset to 0, so no
- apparent change will be visible. Mathematically what happens is:
-
- MSH = MSH + viewing height
- viewing height = 0
-
- As should be obvious from the calculation above, whilst you can increase
- the MSH by this method it is impossible to reduce it. To do this you must go
- back to the editing window and change the value by hand.
-
- 'Set stars plot height'
-
- Will set the height at which stars begin to come out to be that of the
- preview. This value is taken directly from the viewing height since the SPH
- is also relative to the MSH. It would be particularly difficult to set the
- SPH without the sky preview, but it should be easy to do by eye.
-
- Although having the stars plotted at a relatively low level can look
- groovy (giving the appearance of a thin atmosphere) don't forget that they
- won't show up very well against bright colours.
-
- 4.11 Keyboard shortcuts
- ------------------
- In dialogue boxes:
- Return - Select default action (the button with a coloured surround).
- Escape - Select cancel/abort operation, "run away!"
-
- Main editing window:
- F1 - Help (i.e. open application manual).
- F3 - Open savebox to allow sky file to be saved.
- Ctrl-F1 - Display file details, including date last saved and size etc.
- Ctrl-F2 - Close editing window (gives discard/save/cancel prompt if
- appropriate).
- Ctrl-P - Open an interactive preview showing the sky as rendered in the
- game.
- PgUp/PgDn - Scroll view vertically by one page at a time.
- Home/End - Scroll view vertically to top or bottom.
- Ctrl-T - Toggle option to trap the caret within the view area.
- Up/Down - Move the caret.
-
- Effects on selection:
- Ctrl-E - Set colour of all selected colour bands.
- Ctrl-S - Attempt to smooth abrupt colour transitions within selection.
- Ctrl-I - Open 'Interpolate' dialogue (make gradated transition between two
- colours).
-
- Editing operations:
- Ctrl-A - Select all colour bands.
- Ctrl-Z - Deselect any selected colour bands.
- Insert - Open 'Insert bands' dialogue box (insert plain colour or gradated
- fill at caret).
- Ctrl-X - Cut selected bands to the clipboard (as copy, but removes them).
- Ctrl-C - Copy selected bands to the 'clipboard' (temporary storage).
- Ctrl-V - Paste bands from the clipboard, inserting at the current caret
- position (or replacing the selection, if any).
- Ctrl-K (or Delete) - Remove selected bands from the sky file.
-
- On Preview:
- F1 - Help.
- Ctrl-F2 - Close preview window.
- Ctrl-M - Set minimum sky height so that view shown is new ground zero.
- Ctrl-S - Set stars plot height to current viewing height.
- Up/Down - Increase/decrease viewing height in steps of 10.
-
- -----------------------------------------------------------------------------
- 5 Technical details
- =================
-
- 5.1 Where to find sky colours files
- -------------------------------
- Sky colours files can be found inside the !Star3000 application, in
- "Landscapes.Sky". Depending on your installation, the main Landscapes
- directory may be inside a directory "Disc2".
-
- So far as I know, this file format is unique to SF3000.
-
- 5.2 File formats
- ------------
- The tables below show the sky colours file format, when de-compressed
- (though you shouldn't have to worry about this).
-
- Sky colours file (512 bytes)
- ----------------
-
- Word Data
- +0 Min height of sky (cosmetic offset for rendering)
- +4 Start height of star plot (actual height)
- +8... Sky data (126 shades) :
- +8 Sky shade 1 (4 bytes are mode 13 colours, may be dithered)
- +12 Sky shade 2
- +16 Sky shade 3...
-
- The rules by which SFskyedit generates shades data are described
- separately under the heading "Editing model", since the basic file format
- does not preclude other methods.
-
- 5.3 Filetype
- --------
- The filetypes used by SF3000 are highly non-official. Presumably they
- thought that this wouldn't matter for files used internally in the game. I
- already know of some clashes (none serious) with other filetypes, but I
- can't really alter them retrospectively.
-
- &404 - SkyCols
-
- 5.4 Dithering rules
- ---------------
- SFskyedit has been written to allow sky files similar to the Fednet
- originals to be created and edited. To facilitate this the editor
- deliberately imposes quite strict constraints on the shades data. These
- constraints have been derived from the existing sky files. [*]
-
- Rather than allowing literally any sequence of 126 quad-pixel patterns,
- SFskyedit allows only every other shade to be edited. These editable shades
- must be unpatterned pixel spans of a single colour, with the intervening
- shades available for dithering colour transitions. This gives 63 editable
- colour bands rather than the actual 126 shades.
-
- The plain shades are odd-numbered and the dithered shades even-numbered
- (counting from 0). Since the first colour cannot be sensibly dithered with a
- preceding colour it is one shade wider than other colour bands:
-
- Shade Pattern Role
- ----- ------- ----
- 0 0000 Clone of shade 1
- 1 0000 Plain colour band 0 (editable)
-
- 2 1010 Dithered
- 3 1111 Plain colour band 1 (editable)
-
- 4 2121 Dithered
- 5 2222 Plain colour band 2 (editable)
-
- If the shades in a sky file do not follow the conventions described (e.g.
- if outlandish patterns are used, or there are many contiguous dithered
- shades), then SFskyedit may badly misinterpret them. I make no apology for
- this, since I have no reason to suppose that any such files exist or ever
- will.
-
- [*] Violations:
- A couple of the Fednet sky files contain isolated peculiarities that
- violate the strict rules set out above: The final (non-black) shade of both
- "Earth" and "Earth2" consists of the preceding blue dithered with another
- blue rather than the black of the following shade.
-
- In practice this doesn't really matter, though the oddity could be
- rectified by using SFskyedit to reset the black colour band and consequently
- the dithering on the transitional shade.
-
- -----------------------------------------------------------------------------
- 6 Program history
- ===============
-
- 1.00 (15th August 2001) -----------------------------------------------------
- • First version (though it inherits much of the structure and features of
- SFcolours).
-
- 1.01 (17th August 2001) -----------------------------------------------------
- • Had forgotten to RMEnsure the nested Wimp in the !Run file, to safeguard
- use of 24-bit icon colours.
-
- 1.02 (19th August 2001) -----------------------------------------------------
- • Fixed code that passes input focus back to main window - no longer gives
- error when it is already gone and child windows are closed.
- • Closes interpolate/insert dialogues and preview window when parent
- editing window is closed.
-
- 1.03 (19th September 2001) --------------------------------------------------
- • Fixed bug in Loader component regarding multi-stage RAM transfers.
-
- 1.10 (24th December 2001) ---------------------------------------------------
- • Total overhaul of sourcecode from the ground up, with many improvements
- and fixes not really externally visible.
- • Now uses flexlib rather than the C library heap, for storing large data
- blocks. This means that the Wimpslot expands and contracts as necessary.
- • ADJUST-clicking the close icon of a document window now opens its parent
- directory, as proscribed by the Style Guide.
- • Added warning beeps for failed actions (e.g. copy when no selection).
- • Menu options now grey/ungrey appropriately when hot keys are pressed in
- main editing window.
- • Clicking editing window closes Insert/Interpolate dialogues if open as
- children, to give impression of transience.
- • Preview images are now scaled correctly for screenmode eigen factors.
- • Fixed a number of embarrassing memory leaks.
- • Fixed bug in Loader component with !Scrap transfer from other apps,
- where suggested leaf name was shorter than "<Wimp$Scrap>".
- • Corrected 'SFsky' menu titles, left from before I'd decided on the name.
- • No longer get weird colours by clicking at very edge of palette.
-
- 1.11 (8th January 2002) -----------------------------------------------------
- • Fixed "Invalid Object Id" bug on start-up, where app had been launched
- by double-clicking on sky file.
- • Minor improvement to handling of ADJUST-clicks on action buttons in
- palette dialogue.
-
- 1.12 (3rd May 2002) ---------------------------------------------------------
- • New 16 colour & 256 colour sprites.
- • Verifies format of sky files on loading. Added '-nowarn' command line
- switch to disable this.
- • Other internal improvements including more efficient code (!RunImage
- actually smaller).
-
- 1.13 (11th November 2002) ---------------------------------------------------
- • Further improvement to error-checking macros.
- • Corrected mistake in !Run file where the CallASWI module was not being
- loaded on RISC OS 3.6, despite being required on all OSes prior to 3.7.
- • Recompiled using the official Castle release of 32-bit Acorn C/C++.
-
- 1.14 (11th April 2003) ------------------------------------------------------
- • Fixed bug where auto-scrolling stopped when pointer reached edge of
- window (only manifested in modes with non-standard eigen factors).
- • Auto-scrolling is now constant rate, since it adjusts itself to the
- elapsed time between null polls.
- • Changed key shortcuts for close window to ctrl-F2, as per the style
- guide.
- • Slightly more verbose error messages for situation where a file can't be
- opened.
- • Moved "Help" entry to top of iconbar menu, as per Castle docs.
-
- 1.20 (13th June 2003) -------------------------------------------------------
- • The current selection is now highlighted using a dark background colour
- in addition to numbering the icons and giving them borders.
- • You can now double-click on selected bands to change their colour and
- ADJUST-drag to alter the extent of an existing selection.
- • Paste from clipboard now replaces any selection, rather than being
- disabled except when there was a caret.
- • Implemented full keyboard control of the caret, and added 'Trap caret'
- option to keep the caret inside the view area when scrolling.
- • Redesigned the 'Insert' dbox to provided more complete control over
- inclusion of start/end colours and the starting colour for the fill.
- • All dialogue boxes can now be reset by ADJUST-clicking on the 'Cancel'
- button. This allows a simplified design for the 'Interpolate' dbox.
- • Reorganisation of the menu structure and other tweaking to the user
- interface after reference to the Style Guide.
- • The caret no longer disappears entirely when editing window loses the
- input focus. This helps when using the 'Insert' dbox.
- • When closed, transient dialogue boxes that claim the input focus now
- restore it to the previous owner. The 'Insert' and 'Interpolate' dboxes
- still pass the focus to the main window, but now only do so if they own
- it.
- • The 'Insert' and 'Interpolate' pseudo-transient dboxes no longer have
- back-icons and will now be dismissed by a variety of mouse clicks - not
- just those on the parent window.
- • File paths are now canonicalised before being displayed or compared
- (i.e. "IDEFS::Tamzin.$.!Boot.Choices" rather than "<Choices$Write>")
- • Now uses the Toolbox's standard 'Quit' dbox object rather than a custom
- dbox. The default action is now 'Cancel' rather than 'Quit'.
- • Removed COPY and ^H as alternative key shortcuts for delete, and
- implemented HOME and END keys to go to top/bottom of sky file.
- • Fixed a redraw bug in the palette dbox, though this was only evident in
- screen modes with a y eigen factor of less than 1.
- • No longer gives repeated errors and loses the caret off the top when an
- insertion overruns the end of a file.
- • The caret is now relocated to the base of a removed area on a cut or
- delete operation, rather than appearing in an unrelated position.
- • Fixed bugs with drag-and-drop: When moving a selection to a higher
- location in another file the insertion point was incorrect, and a drop on
- the site of a former selection would replace those bands.
- • Fixed bug where the caret was not drawn if Ctrl-Z was pressed to clear
- the selection and it was not within the selection redraw area.
- • Can no longer crash the program by entering rubbish values into the 'Min
- sky height' and 'Stars start height' writeable fields whilst the preview
- window is open.
- • Integrates much better with the pinboard - any iconised window icon is
- removed when that window is re-opened independently by the application.
- • More sensible response to error on Toolbox_Initialise (doesn't rely on
- messages file, which isn't open).
-
- 1.21 (19th August 2003) -----------------------------------------------------
- • Even if there is no unsaved data when a PreQuit message is received, we
- now wait for the Quit message rather than dying prematurely.
- • Where possible, changed to use SWIs instead of Star Commands for file
- access. This is faster and also reduces code size.
- • Now demands version 5.43 of the shared C library, since this is the
- earliest version documented as supporting C99 functions (some of which
- are used).
- • Formatted the manual text for a fixed-width 77 column display (Zap's
- default).
-
- 1.22 (13th September 2003) --------------------------------------------------
- • The program now directly incorporates compression code, hence it is no
- longer dependent on the Comp and Decomp modules from !FednetRes.
- • Released with source code under the terms of the GNU G.P.L.
-
- 1.23 (23rd October 2003) ----------------------------------------------------
- • Internal changes.
-
- 1.24 (7th November 2003) ----------------------------------------------------
- • On shutdown, no longer quits immediately that 'Quit' is selected from
- the quit confirm dbox. Instead all editing windows are closed and we
- wait for a Quit message (analogous to what Paint, Edit & Draw do).
- • Now restarts desktop shutdown by sending a keypress event to the task
- that sent us the PreQuit message (as recommended by the PRM), instead of
- using SWI Wimp_ProcessKey.
-
- -----------------------------------------------------------------------------
- 7 Licence and Disclaimer
- ======================
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public Licence as published by the Free
- Software Foundation; either version 2 of the Licence, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public Licence for
- more details.
-
- You should have received a copy of the GNU General Public Licence along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 675 Mass Ave, Cambridge, MA 02139, USA.
-
- If you did not receive source code with this program then you can download
- it from http://starfighter.acornarcade.com
-
- -----------------------------------------------------------------------------
- 8 Credits
- =======
-
- SFskyedit was designed and programmed by Chris Bazley.
-
- This program uses CBLibrary, which is (C) 2003 Chris Bazley. This library
- and its use are covered by the GNU Lesser General Public Licence. You can
- obtain CBLibrary with source code by downloading it from
- http://www.bigfoot.com/~chrisbazley/
-
- This program contains a small but important section of code written by
- Fednet themselves. The routine is used to render the sky preview, with minor
- modification to conform to the APCS.
-
- Much credit goes to David O'Shea and Keith McKillop for working out the
- Fednet compression algorithm. David wrote a DeComp module for use with the
- Stunt Racer track designer, which earlier versions of SFskyedit relied upon.
- The code incorporated into this application is heavily based (with
- permission) upon his.
-
- Olaf Krumnow and Herbert zur Nedden of the German Archimedes Group wrote
- the ResFind program I use to find the correct resources for different
- languages.
-
- Thanks to the denizens of comp.sys.acorn.programmer for their advice - in
- particular Kevin Bracey, Richard Murray and Stewart Brodie.
-
- Thanks to my brother Martin for his bug-spotting!
-
- The application name "SFskyedit" (including associated sprites/system
- variables) has been officially registered with RISCOS Ltd.
-
- The game Star Fighter 3000 is © FEDNET Software 1994, 1995.
-
- -----------------------------------------------------------------------------
- 9 Contact details
- ===============
-
- Feel free to contact me with any bug reports, suggestions or anything else.
- Even if you think that my programs are crap, I'll be interested to know!
-
- Mail: Mr C.J. Bazley
- 43 Wilton Grove
- Wimbledon
- London
- SW19 3QU
-
- Email: mailto:chrisbazley@bigfoot.com (preferred)
- mailto:chris@bazley.freeuk.com
-
- WWW: http://starfighter.acornarcade.com
- http://www.bigfoot.com/~chrisbazley/
-